#ifndef CHAIN_H_
#define CHAIN_H_

#include "ChainCore.hh"

//
/**
 * \file Chain.h
 * \author  jsk <jsk.jinsubkim@gmail.com>
 * \version 1.0
 *
 * \class Chain Chain.h
 *
 * Thread safe한 양방향 링크드 리스트(doubly linked list)를 구현한다.
 * 
 * 리스트는 Node 클래스를 이용해서 각 노드를 연결하고, 헤더와 테일이 있어서 
 * 헤더와 테일 모두 입력과 출력이 가능하다. 또한 입력과 출력 모두 락을 통해서 
 * 보호하기 때문에 thread safe하다.
 * 
 * \warning
 * 
 * 리스트 중간에 삽입하는 기능이 아직 구현되지 않았다.
 */
class Chain : public ChainCore
{
public:
	/**
	 * \name Chain
	 */
	Chain();
	
	/**
	 * \name ~Chain
	 */
	~Chain();
};

#endif //CHAIN_H_